package 栈.每日温度;
/**
 * 题目描述
 * 给定一个整数数组 temperatures ，表示每天的温度，
 * 返回一个数组 answer ，其中 answer[i] 是指对于第 i 天，
 * 下一个更高温度出现在几天后。如果气温在这之后都不会升高，请在该位置用 0 来代替。
 * 输入: temperatures = [73,74,75,71,69,72,76,73]
 * 输出: [1,1,4,2,1,1,0,0]
 * 就是气温在今天后至少需要等待几天温度升高，输出就是多少
 * 力扣：https://leetcode-cn.com/problems/daily-temperatures/
 * 力扣第 739
 * */
/**
 * 题目思路：
 * 暴力解法：
 * 暴力解法，时间复杂度O(n^2)
 * 1，首先循环每一天的温度
 * 2，内层循环遍历当天温度后面的温度
 * 3，找到更高的温度记录时间差
 * */

class Solution0 {
    public int[] dailyTemperatures(int[] temperatures) {
        // 获取温度数组的长度
        int length = temperatures.length;
        // 创建数组，初始化为0
        int[] result = new int[length];
        // 外层循环遍历每一天的温度
        for (int i = 0; i < length; i++) {
            // 获取当前的温度
            int current = temperatures[i];
            // 题目要求温度低于100
            if (current < 100) {
                // 从第二天开始寻找更高的温度
                for (int j = i + 1; j < length; j++) {
                    if (temperatures[j] > current) {
                        // 找到之后记录时间差
                        result[i] = j - i;
                        break;
                    }
                }
            }
        }
        return result;
    }
}